Domain-Driven Design
Eric Evansによるドメイン駆動設計。ビジネスドメインの複雑さをソフトウェアモデルとして表現し、ドメイン専門家と開発者の共通理解を構築する手法。
中核概念
- ユビキタス言語: ドメイン専門家と開発者が共有する言葉
- Bounded Context: モデルの境界を明確化
- Entity / Value Object: ドメインオブジェクトの設計パターン
- Aggregate: 整合性境界の単位
認知負荷との関係
ユビキタス言語は認知負荷の翻訳負荷を下げる試み。ドメイン専門家と開発者の間で言葉の変換コストを最小化する。
戦略的設計
システムをBounded Contextに分割し、Context間の関係性を定義。これはTeam Topologiesのチーム分割とも関連する。